package in.model; import android.os.Parcel; import android.os.Parcelable; import in.lib.manager.CacheManager; import in.lib.utils.Debug; import in.lib.utils.SerialReaderUtil; import in.lib.utils.SerialWriterUtil; import in.model.base.Draft; import lombok.Data; @Data public class DraftMessage extends Draft { protected String replyId; protected String channelId; @Override public void save() { CacheManager.getInstance().writeFile("message_" + getDate(), this); } @Override public DraftMessage load(String id) { return null;//CacheManager.getInstance().readFileAsObject("message_" + id, DraftMessage.class); } @Override public void delete() { CacheManager.getInstance().removeFile("message_" + getDate()); } @Override public DraftMessage createFrom(Parcel parcel) { super.createFrom(parcel); return this; } @Override public String getVersion() { return "af4b4eda-942e-4c2e-a1b0-72b0735bdf61"; } @Override public void write(SerialWriterUtil util) { super.write(util); try { util.writeString(getVersion()); util.writeString(replyId); util.writeString(channelId); } catch (Exception e) { Debug.out(e); } } @Override public DraftMessage read(SerialReaderUtil util) { if (super.read(util) != null) { try { String version = util.readString(); if (!version.equals(getVersion())) return null; replyId = util.readString(); channelId = util.readString(); return this; } catch (Exception e) { Debug.out(e); } } return null; } public static final Parcelable.Creator<DraftMessage> CREATOR = new Creator<DraftMessage>() { @Override public DraftMessage[] newArray(int size) { return new DraftMessage[size]; } @Override public DraftMessage createFromParcel(Parcel source) { return new DraftMessage().createFrom(source); } }; }